// webpack 会把入口文件中引入的资源打包到一个文件中
// 引入完整的 core-js
// import "core-js";
// 手动按需引入
// import "core-js/es/promise";
// 要打包的 js 资源
import count from "./js/count";
import sum from "./js/sum";

// 想要webpack打包资源,必须在入口文件引入该资源
import "./css/index.css";
// 引入要打包 less 资源
import "./less/index.less";
// 引入要打包 sass 资源
import "./sass/index.sass";
import "./sass/index.scss";
// 引入要打包 stylus 资源
import "./stylus/index.styl";
// 引入要打包 iconfont 资源
import "./css/iconfont.css";

const result = count(2, 1);
console.log(result);

console.log(count(2, 3));
console.log(sum(1, 2, 3, 4));

document.getElementById("btn").onclick = function () {
  // 动态加载模块  eslint不识别动态导入，需要在.eslintrc文件中进行配置
  // /* webpackChunkName:"math" */ webpack魔法命名 为动态导入的模块命名
  import(/* webpackChunkName:"math" */ "./js/math")
    .then(({ add }) => {
      console.log(add(1, 2));
    })
    .catch((err) => {
      console.log("错误");
    });
};

if (module.hot) {
  // 判断是否支持热模块替换功能
  // 如果支持,则监听指定模块的变化
  module.hot.accept("./js/count.js");
  module.hot.accept("./js/sum.js");
}

new Promise((result) => {
  setTimeout(() => {
    result();
  }, 1000);
});

const arr = [1, 2, 3, 4];
console.log(arr.includes(1));

if ("serviceWorker" in navigator) {
  window.addEventListener("load", () => {
    navigator.serviceWorker
      .register("/service-worker.js")
      .then((registration) => {
        console.log("SW registered: ", registration);
      })
      .catch((registrationError) => {
        console.log("SW registration failed: ", registrationError);
      });
  });
}
